.thaw-textarea {
    position: relative;
    display: inline-flex;
    margin: 0px;
    padding: 0 0 var(--strokeWidthThick) 0;
    background-color: var(--colorNeutralBackground1);
    border-radius: var(--borderRadiusMedium);
    border: var(--strokeWidthThin) solid var(--colorNeutralStroke1);
    border-bottom-color: var(--colorNeutralStrokeAccessible);
    box-sizing: border-box;
}

.thaw-textarea:focus-within {
    border-bottom-color: var(--colorCompoundBrandStroke);
    outline-width: var(--strokeWidthThick);
    outline-color: transparent;
    outline-style: solid;
    border: var(--strokeWidthThin) solid var(--colorNeutralStroke1);
}

.thaw-textarea:hover {
    border: var(--strokeWidthThin) solid var(--colorNeutralStroke1Hover);
    border-bottom-color: var(--colorNeutralStrokeAccessibleHover);
}

.thaw-textarea:active {
    border: var(--strokeWidthThin) solid var(--colorNeutralStroke1Pressed);
    border-bottom-color: var(--colorNeutralStrokeAccessiblePressed);
}

.thaw-textarea::after {
    content: "";
    position: absolute;
    bottom: -1px;
    right: -1px;
    left: -1px;
    height: max(var(--strokeWidthThick), var(--borderRadiusMedium));
    border-bottom-right-radius: var(--borderRadiusMedium);
    border-bottom-left-radius: var(--borderRadiusMedium);
    box-sizing: border-box;
    border-bottom: var(--strokeWidthThick) solid var(--colorCompoundBrandStroke);
    transition-delay: var(--curveAccelerateMid);
    transition-duration: var(--durationUltraFast);
    transition-property: transform;
    transform: scaleX(0);
    clip-path: inset(calc(100% - var(--strokeWidthThick)) 0 0 0);
}

.thaw-textarea:focus-within::after {
    transition-delay: var(--curveDecelerateMid);
    transition-duration: var(--durationNormal);
    transition-property: transform;
    transform: scaleX(1);
}

.thaw-textarea:focus-within:active::after {
    border-bottom-color: var(--colorCompoundBrandStrokePressed);
}

.thaw-textarea__textarea {
    flex-grow: 1;
    height: 100%;
    max-height: 260px;
    min-height: 52px;

    margin: 0px;
    padding: var(--spacingVerticalSNudge)
        calc(var(--spacingHorizontalMNudge) + var(--spacingHorizontalXXS));
    outline-style: none;
    background-color: transparent;
    color: var(--colorNeutralForeground1);
    line-height: var(--lineHeightBase300);
    font-weight: var(--fontWeightRegular);
    font-size: var(--fontSizeBase300);
    font-family: var(--fontFamilyBase);
    border-style: none;
    box-sizing: border-box;
    resize: none;
}

.thaw-textarea--small .thaw-textarea__textarea {
    max-height: 200px;
    min-height: 40px;
    font-size: var(--fontSizeBase200);
    line-height: var(--lineHeightBase200);
    padding: var(--spacingVerticalXS)
        calc(var(--spacingHorizontalSNudge) + var(--spacingHorizontalXXS));
}

.thaw-textarea--large .thaw-textarea__textarea {
    max-height: 320px;
    min-height: 64px;
    font-size: var(--fontSizeBase400);
    line-height: var(--lineHeightBase400);
    padding: var(--spacingVerticalS)
        calc(var(--spacingHorizontalM) + var(--spacingHorizontalXXS));
}

.thaw-textarea__textarea-el::placeholder {
    color: var(--thaw-placeholder-color);
}

.thaw-textarea.thaw-textarea--disabled {
    background-color: var(--colorTransparentBackground);
    border: var(--strokeWidthThin) solid var(--colorNeutralStrokeDisabled);
}

.thaw-textarea--disabled > .thaw-textarea__textarea {
    background-color: var(--colorTransparentBackground);
    color: var(--colorNeutralForegroundDisabled);
    cursor: not-allowed;
}

.thaw-textarea--disabled > .thaw-textarea__textarea::placeholder {
    color: var(--colorNeutralForegroundDisabled);
}

.thaw-textarea--resize-vertical > .thaw-textarea__textarea {
    resize: vertical;
}

.thaw-textarea--resize-horizontal > .thaw-textarea__textarea {
    resize: horizontal;
}

.thaw-textarea--resize-both > .thaw-textarea__textarea {
    resize: both;
}
